In the past, there have been many different types of methods and devices proposed for testing devices. These devices verify that the test devices operate properly by applying external stimuli to the test devices during simulations and then verifying that the results of the simulation correspond to the predicted behaviour of the test device.
In order to verify the results of a simulation on a device, the prior art methods and devices generally utilize a predictive methodology. In a predictive methodology, a "cycle accurate model" of the device under test is created in a high level of abstraction, for example written in C or C++. The cycle accurate model is then used to predict the exact behaviour of the device from any external stimuli. In other words, the same external stimuli are applied to the cycle accurate model as are applied to the test device during the simulation. The cycle accurate model then produces an ideal or "predicted" set of results of the test device for a given set of external stimuli or inputs. The "predicted" set of results from the cycle accurate model are compared to the observed results collected during the simulation of the test device. Any discrepancies between the predicted results of the cycle accurate model and the observed results of the simulation indicate there is a flaw in the device.
The prior art has suffered from several disadvantages. One of the disadvantages of the prior art is that it is time consuming to prepare a cycle accurate model for most devices. For example, it is not unusual for development of a cycle accurate model of a device, in order to produce the predicted results, to require one to two months.
It is also time consuming to change a cycle accurate model should any corrections be required in the cycle accurate model, or, should any changes result in the design of the device being tested. Therefore, even though the cycle accurate model is created at a high level of abstraction, the cycle accurate model must still be fairly detailed in order to be able to produce the predicted results in response to the external stimuli or inputs. Therefore, it is clear that preparing and updating of the cycle accurate model requires a great deal of time and resources, which time and resources could be better utilized in designing and debugging the device.